package com.zzl.finance.data.entity.feign;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 我的票据
 *
 * @author wztsl
 * @date 2021-11-30 14:13:19
 */
@Data
@ApidocModel
public class TicketEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApidocModelProperty(description = "主键")
    private Integer id;
    @ApidocModelProperty(description = "票据编号")
    private String ticketNo;
    @ApidocModelProperty(description = "票据原始金额")
    private Double ticketAllAmount;
    @ApidocModelProperty(description = "票据可用额度")
    private Double  ticketAvailableAmount;
    @ApidocModelProperty(description = "票剩余金额")
    private Double ticketSurplusAmount;
    @ApidocModelProperty(description = "转让中票冻结金额")
    private Double transferFrozenAmount;
    @ApidocModelProperty(description = "已转让金额")
    private Double transferAmount;
    @ApidocModelProperty(description = "融资冻结金额")
    private Double financeFrozenAmount;
    @ApidocModelProperty(description = "融资金额")
    private Double financeAmount;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "开票日期，指开立完成票交所返回值的日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date invoiceTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "兑付日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date cashTime;
    @ApidocModelProperty(description = "子票区间开始")
    private String startSubticketInterval;
    @ApidocModelProperty(description = "子票区间结束")
    private String endSubticketInterval;
    @ApidocModelProperty(description = "开立申请表id")
    private Integer ticketOpenId;
    @ApidocModelProperty(description = "来源票据转让申请表id")
    private Integer ticketTransferId;
    @ApidocModelProperty(description = "上级id")
    private Integer parentTicketId;
    @ApidocModelProperty(description = "票据来源,1:开立签收，2：转让签收")
    private Integer ticketSource;
    @ApidocModelProperty(description = "票据状态：1：待出票，2已出票，3：已收票，4：已到期，5：已终止，6：已结清")
    private Integer ticketStatus;
    @ApidocModelProperty(description = "兑付状态，1：未兑付，2：等待兑付，3：已兑付，4：逾期未兑付，5逾期已兑付")
    private Integer cashStatus;
    @ApidocModelProperty(description = "转让方")
    private Integer transferEnterpriseId;
    @ApidocModelProperty(description = "转让方企业名称")
    private Integer transferEnterpriseName;
    @ApidocModelProperty(description = "承兑方")
    private Integer acceptorId;
    @ApidocModelProperty(description = "承兑方名称")
    private String acceptorEnterpriseName;
    @ApidocModelProperty(description = "开票方id,从企业中选择")
    private Integer drawerId;
    @ApidocModelProperty(description = "开票方id,从企业中选择")
    private Integer drawerEnterpriseName;
    @ApidocModelProperty(description = "处理结果：0,未撤回 1撤回中 2 成功 3 失败")
    private String exceptionStatus;
    @ApidocModelProperty(description = "是否可转让，1：可转让，0不可转让")
    private Integer isTransfer;
    @ApidocModelProperty(description = "是否锁定，0是未锁定，1是锁定")
    private Integer locked;
    @ApidocModelProperty(description = "部门id")
    private Integer orgId;
    @ApidocModelProperty(description = "拥有企业id")
    private String enterpriseId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "创建时间", validate = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "修改时间", validate = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    @ApidocModelProperty(description = "创建人")
    private Integer creatorId;
    @ApidocModelProperty(description = "修改人")
    private Integer updaterId;
    @ApidocModelProperty(description = "备注")
    private String remark;
    @ApidocModelProperty(description = "上链地址")
    private String ticketAddress;

}
